1. Field of the Invention
The present invention relates to a printing device for printing a plural number of print data in a predetermined order.
2. Related Art
Usually, a conventional printing device is coupled with a data processor in one-to-one correspondence by a local connection. Therefore, it is a common practice that the printing device is provided with one type of connection interface, which is compatible with a data processor to be coupled.
Recent information processing environments require the printing device to be compatible with data processors having different communication interfaces. To satisfy such a requirement, the printing device is quipped with a plural number of input interfaces (referred to as input ports), such as serial ports and parallel ports.
An example of the printing device with a plural number of input ports, conventionally used, is shown in FIG. 28. As shown, a printing device 30 is coupled with four data processors (referred to as host computers) H (H1 to H4) by way of input ports P (P1 to P4). These input ports P(P1 to P4) are provided with buffer memories B (B1 to B4) of given memory capacities, respectively.
In the printing device thus coupled with the host computers, various commands for printing and print data (both being inclusively referred to as print jobs) are input, according to timings shown in FIG. 29, to the printing device through the input ports P thereof, from the host computers H, and stored in the buffer memories B in the printing device. The printing device 30 successively executes and prints the print jobs received from the host computers H1 to H3 in this order. The reason why the execution of the print jobs is thus ordered in the printing device 30 follows: The printing device executes image forming processes in the order of receiving the print jobs at the input ports P, and issues print request commands to a print mechanism (not shown). In this case, upon completion of the processing of the first incoming print job, the printing device executes an image forming process of the next incoming print job, and so on.
Therefore, the printing device cannot carry out the printing based on the next incoming print job till the first incoming print job basis printing ends.
This will be described using an instance illustrated in FIG. 20. As shown, the print jobs coming from the host computers H2 to H4 are ready for printing earlier than the print job from the host computer H1. However, those jobs are placed in wait-for-printing status till the printing process of the job from the host computer H1 ends since the former jobs arrive at the printing device later than the later job. A time taken for processing all the print jobs includes a relatively long waiting time. This leads to an elongation of the total print processing time of the printing device, and makes irritative the operators operating the host computers being put in a wait-for-printing status. This is due to the fact that where one print mechanism is used, the execution of the print jobs following the issuance of a print request command is sequential.
A flow of processings in the printing device, which follows the issuance of a print request, is charted in FIG. 30. A print job issues a print request command (denoted as [1]) for the print job per se; the print job queries as to whether or not the print mechanism is in use (step S01); if the answer is NO (it is not in use) (step S02, NO), it further queries which output tray is to be used (step S03); and if it succeeds in acquiring an output tray for the print job (step S04), it indicates the acquired output tray to the print mechanism (step S05). If failing to acquire the output tray (step S04, NO), the print job directs the print mechanism to set the output tray to a default value and further to shift somewhat to the right or left (step S06). Thereafter, the print job sends intermediate code data of n[1] as the first print unit to the print mechanism and causes it to print (step S07); the print mechanism repeats the printing operations till p1 (total number of prints)=0 (steps S08 to S09); at the end of the printing, the print job abandons the right to use the print mechanism and signals the abandoning of the print-mechanism using right (step S010); and it signals the ending of using the output tray (step S011). If the print mechanism is in use (step S02), the print job repeats the query of the step S01.
Thus, the print request commands are issued in the above order, and the printing operations are performed in the print-request issuing order, sequentially. Therefore, in a case where the first print job has a large number of prints and another print job waiting for printing has a single print, the latter job must wait for printing till the former or first job completes its printing.
Accordingly, an object of the present invention is to provide a printing device which processes a plural number of print jobs in the best order.
The basic concept of the present invention may be set forth in the form of a printing device comprising:
A) receiving means for receiving the print data of a plural number of printing jobs concurrently;
B) intermediate code generating means for concurrently generating intermediate code data every data unit from on the print data received by the receiving means;
C) a print mechanism for generating bit images on the basis of the intermediate code data and for printing in accordance with the bit images; and
D) print management means for executing a predetermined judging process to judge if the print job satisfies a predetermined condition at a predetermined chance during the printing of a print job, for interrupting the processing of the print job under printing on the basis of the result of the judging process execution, for selecting one of print jobs waiting for printing, and for causing the print mechanism to print the selected print job earlier than the remaining print jobs.
When the number of prints in a print job or jobs waiting for printing is smaller than that of the print job under execution of printing, and the difference between the numbers of prints is in excess of a predetermined number of prints, the print management means interrupts the printing operation of the print job under printing.
With this function of the print management means, when the number of prints of the print job waiting for printing is small, the print management means causes the print mechanism to preferentially print the print job waiting for printing.
When a printing-wait time of the print job under printing is longer than a predetermined time, the print management means interrupts the printing operation of that print job.
Therefore, when the printing of the print job under printing is inefficiently performed, the printing of that print job is interrupted and another print job waiting for printing is allowed to start its printing operation. This feature provides an efficient operation of the print mechanism.
The printing-wait time is counted in the range, for example, from the completion of generating a group of intermediate codes of the print job under printing to the generation of another group of intermediate codes.
With this feature, when the print job under printing is waiting for printing, for example, for the reason that the generation of the intermediate codes takes much time, the printing operation of the print job under printing is interrupted, while another print job waiting for printing is executed for printing. The result is to provide an efficient use of the print mechanism.
When a plural number of the print jobs waiting for printing are present, the print management means selects the print job including the smallest number of prints among from those jobs and cause the print mechanism to execute the selected one.
Thus, the print job having a small number of prints is preferentially executed.
When a plural number of the print jobs waiting for printing are present, the print management means selects one from among the print jobs waiting for printing in the order of:
a) print-data reception start times of the receiving means,
b) print-data reception completion times by the same,
c) intermediate-code generation start times by the intermediate code generating means, or
d) intermediate-code generation completion times by the same.
The print management means cause the print mechanism to preferentially print the selected one.
With this feature, the print jobs may be printed in a desired order.
When a print job being interrupted in its printing is included in a plural number of print jobs waiting for printing, the print management means accepts a print request issued from the print job being interrupted in its printing, and causes the print mechanism to preferentially print the print job being interrupted in printing.
Therefore, the print job being interrupted in printing may be executed preferentially.
When interrupting a print job under printing, the print management means designates the print job to next be printed under a predetermined condition.
This feature enables a print job having a small number of prints to preferentially be printed.
When interrupting a print job under printing, the print management means designates the next-but-one print job to be printed under another predetermined condition.
This feature enables another print job having a small number of prints to preferentially be printed.
When interrupting a print job under printing, the print management means designates the print job being interrupted in its printing as the next-but-one print job to be printed.
With this, after interrupted in printing, the print job is preferentially executed for printing.
In printing the next-but-one print job, the print management means compares the number of prints of that print job with that of another print job waiting for printing, and causes the print mechanism to preferentially print the print job waiting for printing under a predetermined condition.
With this, after interrupted in printing, the print job is preferentially printed when the condition is satisfied as the result of comparing the numbers of prints.
The printing device includes a plural number of output trays. The print management means delivers the results of the printing of the print jobs concurrently processed to those output trays.
Therefore, the printing device can concurrently process a plural number of print jobs and deliver the printing results to the output trays concurrently.
The receiving means may include a plural number of input interfaces, and receive the print jobs through the interfaces concurrently.
This feature enables the printing device to concurrently process the plural print jobs received through the input interfaces.
The receiving means may include a network interface, and receive the print jobs through the interface in parallel fashion.
This feature enables the printing device to process the print jobs received through the interface in parallel fashion.